Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Latest commit

 

History

History
125 lines (86 loc) · 3.16 KB

1.2.1 - 编译参数.md

File metadata and controls

125 lines (86 loc) · 3.16 KB

编译参数

⚠️新手警告: 不在此列表中的编译参数, 任何情况都请不要使用

这里是./configure编译配置的额外参数,用于开启某些特性

1.8.7或更高版本不再需要设置--enable-async-mysql--enable-async-httpclientasync_mysqlasync_httpclient改为内置 4.0.1或更高版本后不再需要设置--enable-coroutine


☺ 通用参数

--enable-sockets

增加对sockets资源的支持。开启此参数,swoole_event_add就可以添加sockets扩展创建的连接到swoole的事件循环中。另外ServerClientgetSocket()方法也需要依赖此编译参数。

依赖sockets扩展

--enable-openssl

启用SSL支持

使用操作系统提供的libssl.so动态连接库

--with-openssl-dir

启用SSL支持 并 指定openssl库的路径, 需跟上路径参数: --with-openssl-dir=/opt/openssl/

--enable-http2

增加对HTTP2的支持

依赖nghttp2

--with-nghttp2-dir

增加对HTTP2的支持 并 指定nghttp2库的路径, 需跟上路径参数: --with-nghttp2-dir=/opt/nghttp2/

需要 4.2.0 及以上版本

--enable-async-redis

增加异步Redis客户端支持

依赖hiredis

4.2.x版本可能会显示redis-client而没有async字样, 实际上是一样的

4.2.6版本及以后不再需要手动安装和启用, 而是swoole自带

--with-hiredis-dir

增加异步Redis客户端支持 并 指定hiredis库的路径, 需跟上路径参数: --with-hiredis-dir=/opt/hiredis/

需要 4.2.0 及以上版本, 4.2.6版本及以后不再需要手动安装和启用hiredis, 而是swoole自带

--enable-mysqlnd

启用mysqlnd支持,启用swoole_mysql::escapse方法。启用此参数后,PHP必须有mysqlnd模块,否则会导致swoole无法运行。

依赖mysqlnd模块

--enable-coroutine-postgresql

启用协程Postgresql客户端

依赖libpq库

--with-libpq-dir

指定libpq库的路径. --with-libpq-dir=/etc/postgresql



☻ 已废弃的编译参数

--enable-coroutine

4.0.1版本后移除了此编译选项, 默认强制打开, 可使用$server->set动态开关

enable_coroutine动态配置请见文档

启用协程



 Debug参数

--enable-debug-log(>=4.2.0)

打开内核DEBUG日志。生产环境不可以启用

--enable-trace-log

打开追踪日志,开启此选项后swoole将打印各类细节的调试日志, 仅内核开发时使用



☠️以下试验性质选项轻易绝不要开启

--enable-ringbuffer

开启RingBuffer内存池

此设置为试验性质,主要用于提升性能,生产环境请不要开启

--enable-timewheel

启用时间轮算法,优化心跳检测性能

此设置为试验性质



☠️以下选项需要在你知道它是如何工作的时候方可添加

--enable-asan

详情: https://wiki.swoole.com/wiki/page/939.html

使用 asan 内存检测



以下选项是编译PHP而不是Swoole时使用的

--enable-swoole

使用swoole扩展

--enable-swoole-static

将Swoole静态编译内嵌到PHP